package com.wosai.medical.hospital.demo.controller.check.response;

import io.swagger.annotations.ApiModel;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.util.List;

@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel("检查报告列表")
public class CheckReports implements Serializable {
    /**
     * 检查报告代码(唯一标识)
     */
    private String code;
    /**
     * 检查报告名称
     */
    private String name;
    /**
     * 检查类型编码
     */
    private String type;
    /**
     * 检查类型名称(用于显示)
     */
    private String typeName;
    /**
     * 开单
     */
    private Order order;

    /**
     * 检查
     */
    private Check check;

    /**
     * //状态(0:未出报告,1:已出报告)
     */
    private Integer status;

    /**
     * "报告时间(yyyy-MM-dd HH:mm:ss)[可空]"
     */
    private String  time;

    @Data
    @Builder
    @ApiModel("开单")
    public static class Order implements Serializable {
        /**
         * 开单科室
         */
        private Dept dept;
        /**
         * 开单医生
         */
        private Doctor doctor;

        /**
         * "开单时间(yyyy-MM-dd HH:mm:ss)[可空]"
         */
        private String  time;

    }

    @Data
    @Builder
    @ApiModel("科室")
    public  static class Dept implements Serializable {
        /**
         * 科室分类代码
         */
        private String code;
        /**
         * 科室分类名称
         */
        private String name;

    }

    @Data
    @Builder
    @ApiModel("医生")
    public  static class Doctor implements Serializable {
        /**
         * 科室分类代码
         */
        private String code;
        /**
         * 科室分类名称
         */
        private String name;
    }

    @Data
    @Builder
    @ApiModel("检查")
    public static class Check implements Serializable {
        /**
         * 开单科室
         */
        private Dept dept;
        /**
         * 开单医生
         */
        private Doctor doctor;

        /**
         * "检查时间(yyyy-MM-dd HH:mm:ss)[可空]"
         */
        private String  time;
    }

}